In many situations it is desirable or necessary for an institution or organization to contact one or more members of a group of people that are affiliated with the institution or organization. One common example of this is a school; in some cases, the school may wish to contact the parents of one or more students for a specific reason, such as an unexplained absence, while in other cases the school may wish to contact the parents of all of the students to make a general announcement about a school event or news that affects all students.
Unlike some “robo-dialers” that dial numbers sequentially until someone answers, in a case of the type contemplated herein there is a specific telephone number or set of numbers to be called, each corresponding for example to the household of a student. To avoid the necessity for making all of these calls manually, various systems have been devised to make such calls to specific numbers automatically and play a desired message when any dialed number is answered, as well as to keep track of which numbers have been reached and which should be retried.
In a first type or “generation” of such a system, a single computer at a school is programmed with the numbers to be called, and connected to one or more telephone lines. FIG. 1 illustrates this type of system. A plurality of schools or other institutions 102 are shown. Each school 102 has its own computer 104, and each computer 104 has access to one or more telephone lines 106. One or more messages are recorded; each message is associated with one or more of the numbers programmed into the computer, and the computer is programmed to call each number and to play the associated message when and if the call is answered.
It will be apparent that such a system has a number of inherent drawbacks. Each institution or organization must have its own computer capable of being programmed to make such telephone calls, and its own telephone lines. In addition, in such a system each school must also have a sufficient number of telephone lines to allow any desired calls to be made in a reasonable period of time at any time of day. For example, if a call is desired to be made during school hours, it will be appreciated that not all of the telephone lines available to the school should be used to make calls to deliver voice messages, as this will leave the school without telephone access for other business during that time.
On the other hand, using less than all of the telephone lines available to the organization means that fewer telephone lines will be available for the voice messages. If a school has a thousand or more students, a not uncommon number, it can be seen that the number of telephone lines that is made available for delivery of a voice message to all student households will have a significant impact on how long it takes to deliver the message to all households. If the information is time-sensitive, using fewer telephone lines may result in an undesirable delay in delivering the message.
A second generation system such as that shown in FIG. 2 is intended to address some of these issues. In FIG. 2 a plurality of institutions 202, such as schools, are organized into a plurality of collectives 204, such as school districts. While each school 202 typically has a computer 206, this is not strictly necessary. Each school district 204 has a computer or server 208 which is programmed to make telephone calls to deliver recorded messages, as well as a plurality of telephone lines 210. Voice messages are not sent directly by the schools 202 to the desired recipients, but rather message requests and the intended recipients are sent to the school district 204 in which the school 202 is located, and the computer or server 208 then dials the appropriate numbers and delivers the voice messages.
A system of the type shown in FIG. 2 allows the school districts 204 to obtain some advantages of scale. Now each school 202 does not need to have a computer or telephone lines capable of making all of the calls that the institution may wish to make, but need merely be capable of transmitting requests to the corresponding school district 204. Instead, school district 204 typically has more resources, i.e., a faster and perhaps more capable computer or server and more telephone lines, than any individual school 202 would have in a system such as that shown in FIG. 1. Thus, if an individual school 202 makes a request to send a voice message to a large number of recipients, the school district 204 of which the school 202 is a part will be expected to be able to deliver the message faster, in the absence of other pending requests, than the school 202 would be able to on its own.
However, the system of FIG. 2 still has some of the drawbacks of the system of FIG. 1. While the school district 204 may have greater capability than any individual school 202, that capability is still not unlimited and in fact may be considerably less than the combined capability that all of the schools 202 in a district 204 would have if each school used a system of the type shown in FIG. 1. Thus, while calls on behalf of a single school 202 may be made faster by the school district 204 when there are no other pending, requests, if all of the schools 202 in a district 204 make requests at about the same time the system of FIG. 2 may actually be slower than multiple systems of the type shown in FIG. 1. There may still be a limit on available resources, i.e., a “bottleneck,” but now at the level of the school district 204 rather than at each individual school 202.
A third generation system is shown in FIG. 3. In this type of system, both the individual schools 302 (or other institutions) and the school districts 304 (or other collectives) to which they belong are directly connected to, and send their requests for delivery of voice messages to, a hosted system 306 which accesses telephone lines 308. Hosted system 306 is typically much larger than the district computer or server 208 in FIG. 2 and has a much larger number of available telephone lines, and thus can service a much larger number of schools 302 and districts 304 without undue delays in the delivery of the voice messages.
Using systems of the type shown in FIG. 3 was a fundamental shift in mass voice message notification. However, the downside of such systems is an increased telecommunications cost. Systems of the type shown in FIGS. 1 and 2 use the same telephone lines that already exist in schools and school districts (or other institutions or collectives), and the calls will almost always be free local calls as students typically reside within a certain distance from the school they attend. The system of FIG. 3, on the other hand, requires a completely separate set of telephone lines 308 that must be paid for, and does not use any of the capacity of the existing telephone lines in schools 302 or school districts 304.
In addition, the system of FIG. 3 requires independent hardware and does not use any capability of any computers located in either the schools 302 or school districts 304.
A variation of the system of FIG. 3 is shown in FIG. 4, and attempts to combine some of the elements of the second generation system of FIG. 2 with those of the system of FIG. 3. In this system, the schools 402 again connect to their respective school districts 404, which in turn connect to a hosted system 406. School districts 404 have access to telephone lines 408, while the hosted system 406 has access to telephone lines 410.
In the system of FIG. 4, the school districts 404 are able to make calls directly to deliver voice messages and do so if there is capacity on telephone lines 408. If that capacity is exceeded, i.e., if there are too many calls for a district 404 to make within a desired time information about other desired calls is pushed to hosted system 406, which makes those calls on telephone lines 410. In this fashion, the available capacity of telephone lines 408 of school districts 404 is utilized first to make calls that are presumably local and toll-free, before using telephone lines 410 of hosted system 406, which may require toll calling. This system also allows calls to be pushed to hosted system 406 if there is some other problem that prevents school district 404 from making calls.
However, even the system of FIG. 4 has some drawbacks. There is not, and generally cannot be, any real sharing of information between school districts 404 and hosted system 406, since they typically use systems from different vendors and thus typically communicate only through an API (application programming interface). Rather, the data needed to deliver the messages resides at the school districts 404, and it is only the data needed to satisfy specific requests for messages that is sent to a hosted system 406. If a school district 404 loses the data or the ability to transmit, it to hosted system 406, for example due to corruption of the data, or a power or network outage, none of the schools 402 in that district 404 will be able to send any voice messages, thus potentially preventing messages from being sent when they are most needed.
Further, it has thus far been difficult for a hosted system 406 to deliver information back to school districts 404 due to the asynchronous nature of most 3rd party APIs; there may also be issues with firewalls, as school districts 404 (and other collectives) are often very protective of access to the confidential information of their member schools 402 or other institutions.
Another issue is the generation of the voice messages for delivery. In some prior voice message delivery systems, the message is a recorded live voice. If a single identical message is to be sent to a large number of recipients, this is not a difficult or labor-intensive process. On the other hand, if there are a large number of different messages, each of which is to be sent to a single recipient or a small number of recipients, the recording of such messages can be very time consuming. For this reason, some prior art systems have used text to speech (TTS) software, which allows a computer to synthesize speech from a text entry, which is then used for the voice message. This generally reduces the time necessary to create the messages.
However, whether a message is recorded from a live voice or created by TTS software, there is also an issue as to where the voice message is created, specifically whether it is created in the same location from which the call to deliver it will be made. First, if a message is created at the school or district level, the computer or system there must have the capability to create and handle audio files and may need TTS software as well. Further, audio files such as .wav files, or even compressed audio files such as .mp3 files can be large and thus require substantial transmission time. Thus, creating an audio file at the school or district level and transmitting that file to the district or to a hosted system can create both bandwidth requirements and additional delay in delivering the message.
While prior art systems are able to deliver voice messages to large numbers of recipients, as discussed all of them have certain drawbacks. It is desirable to be able to create and deliver large numbers of individualized voice messages in an efficient yet economic fashion without such drawbacks.